function SuperType() {
    this.property = true;
}
SuperType.prototype.getSuperValue = function () {
    return this.property;
};
function SubType() {
    this.subproperty = false;
}
// 继承 SuperType 
SubType.prototype = new SuperType();
SubType.prototype.getSubValue = function () {
    return this.subproperty;
};
let instance = new SubType();
console.log("super:",instance.getSuperValue()); // true
console.log("sub:",instance.getSubValue()); 
console.log(SubType.prototype.property);

console.log(instance.subproperty);
/*
hasOwnProperty：是用来判断一个对象是否有你给出名称的属性或对象。不过需要注意的是，此方法无法检查该对象的原型链中是否具有该属性，该属性必须是对象本身的一个成员。
isPrototypeOf是用来判断要检查其原型链的对象是否存在于指定对象实例中，是则返回true，否则返回false。
*/

console.log("hasOwnProperty:",SubType.prototype.hasOwnProperty(instance))

console.log("isPrototypeOf:",SubType.prototype.isPrototypeOf(instance))

